package controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

import vista.VentanaCargarEquipo;
import vista.VentanaCargarEquipoModeloTabla;
import vista.VentanaResultados;
import vista.VentanaResultadosModeloTabla;
import modelo.Competencia;
import modelo.Nadador;
import modelo.NadadorCompetencia;
import modelo.Panamericano;

public class ControladorVentanaResultados implements ActionListener{
	
	Panamericano panamericano;
	VentanaResultados ventanaResultados;
	Competencia competencia;
	
	ArrayList<Competencia> competencias;
	ArrayList<Competencia> nulo;
	
	String niveles [] = {"Eliminatoria A","Eliminatoria B", "Eliminatoria C",
			"Eliminatoria D", "Semifinal A","Semifinal B","Final"};

	String modalidades [] = {"Libre 50 Metros Masculino","Libre 50 Metros Femenino","Libre 100 Metros Masculino",
			"Libre 100 Metros Masculino","Pecho 50 Metros Masculino","Pecho 50 Metros Femenino","Pecho 100 Metros Masculino",
			"Pecho 100 Metros Femenino","Espalda 50 Metros Masculino","Espalda 50 Metros Femenino","Espalda 100 Metros Masculino",
			"Espalda 100 Metros Femenino","Mariposa 50 Metros Masculino","Mariposa 50 Metros Femenino","Mariposa 100 Metros Masculino",
			"Mariposa 100 Metros Femenino"};
		
	public ControladorVentanaResultados(Panamericano panamericano){
		super();
		this.panamericano = panamericano;
		ventanaResultados = new VentanaResultados();
		
		ventanaResultados = new VentanaResultados();
		ventanaResultados.setLocationRelativeTo(null);
		ventanaResultados.setComboModalidades(modalidades);
		ventanaResultados.setComboNiveles(niveles);
		ventanaResultados.setVisible(true);
		ventanaResultados.agregarListener(this);
		competencias = new ArrayList<Competencia>();
		
		nulo= new ArrayList<Competencia>();
		
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		int nivel;
		String modalidad;
		modalidad = this.modalidades [ventanaResultados.getModalidad()];
		
		nivel = ventanaResultados.getNivel();
		
		competencia = this.panamericano.getCompetencia(modalidad, nivel+1);
		
		cargarTabla();
		
	}
	
	
	private void cargarTabla(){
		// limpiando...
		ArrayList<NadadorCompetencia> nulo = new ArrayList<NadadorCompetencia>();
		this.ventanaResultados.setListado(new VentanaResultadosModeloTabla(nulo));
		
		if (this.competencia.cantidadNadadores()> 0){
			ArrayList<NadadorCompetencia> nadadores = this.competencia.getTodosNadadoresCompetencia() ;
			this.ventanaResultados.setListado(new VentanaResultadosModeloTabla(nadadores));
		}
		else {
			this.ventanaResultados.mostrarMensaje("No hay nadadores para el equipo");
		}
	}
	
	
}
